// 引入 axios
import axios from 'axios'
// 引入弹出提示
import { Toast } from 'vant'

// 创建一个新的 axios 实例
const request = axios.create({
  baseURL: 'http://interview-api-t.itheima.net/h5/', // 默认地址
  timeout: 5000 // 请求超时时间
})

// 添加请求拦截器，第一个参数是请求之前做什么，第二个参数是出错了做什么
request.interceptors.request.use(config => {
  // 拦截器内一定要把形参传出去
  return config
}, error => {
  // 如果失败了返回一个Promise对象
  return Promise.reject(error)
})

// 添加一个响应拦截器，第一个参数是响应成功做什么，第二个参数是响应出错做什么
request.interceptors.response.use(response => {
  // 吧axios响应体内data传出
  return response.data
}, error => {
  // 失败弹窗
  Toast(error.response.data.message)
  // 如果失败了返回一个Promise对象
  return Promise.reject(error)
})

// 对外暴露
export default request
